function objective = gmm3DRigidObjective(params, mix1, mix2)

objective = 0;
for i = 1:mix1.ncentres
    for j = 1:mix2.ncentres
        objective = objective + mix1.priors(i)*mix2.priors(j)*gauss3DRigidObjective(params, mix1.centres(i, :), mix1.covars(:, :, i), ...
                                                                                            mix2.centres(j, :), mix2.covars(:, :, j));
    end
end

objective = -objective;
